Skip to content

[release/9.0] Update dependencies from dotnet/arcade #1253

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

dotnet-maestro[bot]
Copy link
Contributor

@dotnet-maestro dotnet-maestro bot commented May 14, 2025

This pull request updates the following dependencies

From https://github.com/dotnet/arcade

…513.5

Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk
 From Version 9.0.0-beta.25208.6 -> To Version 9.0.0-beta.25263.5
@dotnet-maestro dotnet-maestro bot requested a review from a team as a code owner May 14, 2025 21:16
@ellahathaway
Copy link
Member

Build errors:

error : System.Formats.Asn1 8.0.1 doesn't support net5.0 and has not been tested with it.

This error occurs due to the changes introduced in dotnet/source-build-reference-packages#1216, which added NuGet.Package.6.12.1, NuGet.Protocol.6.12.1, and NuGet.Credentials.6.12.1. These NuGet packages target .NET 5.0 and have System.Formats.Asn1.8.0.1 as a transitive dependency. However, System.Formats.Asn1.8.0.1 does not include .NET 5.0 as a supported target framework, which leads to this build error.

I'm not sure why this wasn't caught by PR checks. @MichaelSimons, any ideas?

@ellahathaway
Copy link
Member

Also the fix for these failures is going to have to be done in multiple parts.

  1. Fix the packages in this PR or in a separate PR
  2. Either push a commit to this PR for suppressing the warning or wait to merge this PR until the next release
  3. Revert suppressing the warning if we decided to enable it

@MichaelSimons
Copy link
Member

I see two options which aren't mutually exclusive.

  1. Add true to the affected projects.
  2. Investigate if net5.0 support in the affected projects is necessary. If not required, we can remove net5.0 support from these packages.

I think we must do #1 now to unblock this PR and potential build issues in full source-build.

@ellahathaway
Copy link
Member

I don't understand why these prebuilts are suddenly appearing... especially the System.Formats.Asn1.6.0.0 prebuilts which are appearing in packages that have been in this repo for months:

    <Usage Id="Microsoft.VisualStudio.Setup.Configuration.Interop" Version="3.2.2146" File="src/artifacts/obj/Microsoft.Build.Tasks.Core.17.8.29/project.assets.json" />
    <Usage Id="System.Formats.Asn1" Version="6.0.0" File="src/artifacts/obj/Microsoft.Build.Tasks.Core.17.3.4/project.assets.json" />
    <Usage Id="System.Formats.Asn1" Version="6.0.0" File="src/artifacts/obj/NuGet.Commands.6.11.0/project.assets.json" />
    <Usage Id="System.Formats.Asn1" Version="6.0.0" File="src/artifacts/obj/NuGet.Credentials.6.11.0/project.assets.json" />
    <Usage Id="System.Formats.Asn1" Version="6.0.0" File="src/artifacts/obj/NuGet.Credentials.6.8.1/project.assets.json" />
    <Usage Id="System.Formats.Asn1" Version="6.0.0" File="src/artifacts/obj/NuGet.DependencyResolver.Core.6.11.0/project.assets.json" />
    <Usage Id="System.Formats.Asn1" Version="6.0.0" File="src/artifacts/obj/NuGet.Packaging.6.11.0/project.assets.json" />
    <Usage Id="System.Formats.Asn1" Version="6.0.0" File="src/artifacts/obj/NuGet.Packaging.6.8.1/project.assets.json" />
    <Usage Id="System.Formats.Asn1" Version="6.0.0" File="src/artifacts/obj/NuGet.ProjectModel.6.11.0/project.assets.json" />
    <Usage Id="System.Formats.Asn1" Version="6.0.0" File="src/artifacts/obj/NuGet.Protocol.6.11.0/project.assets.json" />
    <Usage Id="System.Formats.Asn1" Version="6.0.0" File="src/artifacts/obj/NuGet.Protocol.6.8.1/project.assets.json" />

The simple solution here for the System.Formats.Asn1.6.0.0 prebuilts is to define an explicit reference to System.Formats.Asn1.6.0.1 in these packages or add System.Formats.Asn1.6.0.0 to SBRP.

I'm a bit stumped by the Microsoft.VisualStudio.Setup.Configuration.Interop prebuilt. Microsoft.Build.Tasks.Core.17.8.29 explicitly comments out this package reference, and now it's suddenly appearing as a prebuilt? Why would it not have been a prebuilt when this package was added to SBRP?

Before I make any additional changes to this PR, I'd like to figure out why these prebuilts are suddenly appearing. @dotnet/source-build - can I get some input? TIA

@mthalman
Copy link
Member

My guess is that this is caused by NuGet non-determinism. It appears to be restoring Microsoft.Build.Utilities.Core.17.8.29 from dnceng/public feed instead of building it. Since it's getting the published version of the package rather than the SBRP one, it brings along Microsoft.VisualStudio.Setup.Configuration.Interop.3.2.2146. But I've never seen NuGet non-determinism apply to a situation where it caused a package to be restored rather than building it.

image

@ellahathaway
Copy link
Member

Alright, I found the issue:

The System.Formats.Asn1 8.0.1 doesn't support net5.0 and has not been tested with it. error is not appearing in the full VMR build, nor is the warning being suppressed anywhere in the VMR that would affect SBRP. So, I checked out SBRP at the tip of release/9.0 and began updating arcade dependencies commit by commit. I hit the TFM issue when I updated the arcade SDK to 9.0.0-beta.25255, which is this commit. I suspect that I know where in the change the error is coming from. I'll continue the investigation in the morning.

@ellahathaway
Copy link
Member

Needs dotnet/arcade#15854

…521.1

Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk
 From Version 9.0.0-beta.25208.6 -> To Version 9.0.0-beta.25271.1
@ellahathaway ellahathaway merged commit 9859d82 into release/9.0 May 22, 2025
4 checks passed
@ellahathaway ellahathaway deleted the darc-release/9.0-09894170-1925-4815-80e6-5e049f83e6a3 branch May 22, 2025 17:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants